Automated beverage generating system and method of operating the same

ABSTRACT

A method of operating an automated beverage generating system. The method comprises receiving one or more electrical signals representative of an order for a specified beverage. The method further comprises translating the order into one or more steps required to generate the specified beverage. The method still further comprises entering at least one of the required steps into a dynamic sequence corresponding to a module of the system configured to perform that particular step, the dynamic sequence representing an order in which one or more steps in the dynamic sequence will be performed by the module for one or more beverages to be generated by the system.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of U.S. patent application Ser. No.14/212,887, filed Mar. 14, 2014, which claims the benefit of U.S.Provisional Application No. 61/792,128, filed Mar. 15, 2013. The entirecontents of both of the above-identified applications are herebyincorporated by reference.

TECHNICAL FIELD

This disclosure relates generally to systems and methods for generatingbeverages, and more particularly to automated beverage generatingsystems and methods of operating the same.

BACKGROUND

Known automated beverage generating systems may comprise any number ofcomponents to facilitate the ordering of a beverage by a customer, thegeneration or production of the ordered beverage, and ultimately thedelivery of the beverage to the customer. Such systems may include orsupport, for example, one or more user input devices to allow a customerto select or order a desired beverage, one or more components or modulesconfigured to contribute to the generation or production of the desiredbeverage, and one or more delivery mechanisms to deliver the completedbeverage to the customer. These systems typically operate on a first in,first out—or FIFO—basis or scheme wherein orders for beverages arefilled in the order that they are received. In other words, in certainsystems, all of the steps required for generating a first beverage areperformed to completion prior to commencing the generation of a second,later ordered beverage. One drawback of these types of systems is thatresources of the system used to produce the second beverage, but notrequired to produce the first beverage, remain idle during, and untilthe completion of, the production of the first beverage. In otherFIFO-based systems that are able to pipeline steps of multiple beverages(i.e., start a step of a second beverage before completing the firstbeverage), resources of the system may still sit idle due to the factthat not all of the beverages being produced or generated have a needfor the same resources. As such, because of the linear/assembly linenature of such systems, a beverage may be waiting at a system resourcethat it does not need, and thus, will suffer from the same drawbackidentified above. In either instance described above, the utilization ofat least some of the system resources used to generate beverages may notbe optimized, and the throughput of the system may not be maximized.

SUMMARY

According to one embodiment, there is provided a method of operating anautomated beverage generating system. The method comprises: receivingone or more electrical signals representative of an order for aspecified beverage; translating the order into one or more stepsrequired to generate the specified beverage; and entering each requiredstep into a dynamic sequence corresponding to a module of the systemconfigured to perform that particular step, the dynamic sequencerepresenting an order in which one or more steps in the dynamic sequencewill be performed by the module for one or more beverages to begenerated by the system.

According to another embodiment, there is provided an automated beveragegenerating system. The system comprises an electronic processing unitand an electronic memory device electrically coupled to the electronicprocessing unit and having instructions stored therein. The processingunit is configured to access the memory device and execute theinstructions stored therein such that is operable to: receive one ormore electrical signals representative of an order for a specifiedbeverage; translate the order into one or more steps required forgenerating the specified beverage; and enter each required step into adynamic sequence corresponding to a module of the system that isconfigured to perform that step, wherein the dynamic sequence representsan order in which the module will perform one or more steps in thedynamic sequence for one or more beverages to be generated by thesystem.

According to another embodiment, there is provided a non-transitory,computer-readable storage medium storing instructions thereon that whenexecuted by one or more computers causes the one or more computers to:receive one or more electrical signals representative of an order for aspecified beverage; translate the order into one or more steps requiredfor generating the specified beverage; and enter each required step intoa dynamic sequence corresponding to a module of the system that isconfigured to perform that step, wherein the dynamic sequence representsan order in which the module will perform one or more steps in thedynamic sequence for one or more beverages to be generated by thesystem.

DESCRIPTION OF THE DRAWINGS

One or more embodiments of the invention will hereinafter be describedin conjunction with the appended drawings, wherein like designationsdenote like elements, and wherein:

FIG. 1 is a schematic and diagrammatic view of an automated system forgenerating beverages;

FIGS. 2a and 2b illustrate examples of graphical user interfaces (GUIs)that may be displayed on a user input device of the system illustratedin FIG. 1, and that may used by customers to order beverages;

FIG. 3 is a diagrammatic and schematic view of an example of aninterconnection of various components of the system illustrated in FIG.1; and

FIG. 4 is a flow diagram of an illustrative method of operating anautomated beverage generating system.

DETAILED DESCRIPTION OF EMBODIMENTS

The methods and systems described herein may be used to generate orproduce beverages, such as, for example and without limitation, brewedbeverages (e.g., hot or cold brewed beverages). For purposes of thisdisclosure, the phrase “brewed beverages” or “brewed beverage” isintended to mean any consumable beverage that is made through a processin which a liquid and one or more ingredients are combined though one ormore of mixing, stirring, boiling, steeping, infusion, frothing,pressurization, and/or fermentation over a prescribed period of time.Examples of brewed beverages include, but are not limited to, coffee,tea, espresso, and beer. It will be appreciated that while thedescription below is primarily with respect to the production of brewedbeverages, the present disclosure is not meant to be so limited. Rather,the methods and systems described herein may also be used to produceother types of prepared beverages, such as, for example, hot chocolateand energy drinks, to name a few. In any event, the system may beimplemented as, and the methods may be performed by, a single,fully-automated kiosk such as, for example, that or those described inU.S. Pat. No. 8,515,574 issued on Aug. 20, 2013 and U.S. PatentPublication No. 2013/0087050 published on Apr. 11, 2013, the contents ofeach of which are hereby incorporated by reference in their entireties.The systems and methods described herein may be used to, among otherthings, establish a production schedule for beverages ordered throughthe system, and to then use that or those schedules to prepare ofgenerate the ordered beverage(s).

Referring now to the drawings wherein like reference numerals are usedto identify identical or similar components in the various views, FIG. 1depicts an illustrative embodiment of an automated system 10(hereinafter referred to as “kiosk 10”) for generating or preparingbeverages, such as, for example, brewed beverages (e.g., coffee,espresso, tea, etc.). The kiosk 10 comprises a plurality of componentsor modules that may allow for a fully automated kiosk having thefunctionality to, in general terms, take ground coffee or beans as aninput and generate a fully lidded brewed beverage as an output. To thatend, the kiosk 10 may include or be configured to support, among othercomponents, one or more user input devices 12, an electronic controlunit 14 (ECU 14), and one or more process components or modules 16. Invarious embodiments, kiosk 10 may further comprise, among potentiallyother components, a cup handler, a presentation area, and variousactuators, sensors, and/or other components, some of which may bedescribed below.

As shown in the example illustrated in FIG. 1, the kiosk 10 may includeor support one or more user input devices 12. While the particularnumber of user input devices that the kiosk 10 may include or supportmay be unlimited, for purposes of illustration and clarity, thedescription below will be with respect to an embodiment wherein thekiosk 10 includes a single user input device 12. It will be appreciatedthat in embodiments wherein the kiosk 10 includes or supports multipleuser input devices, the description below would apply with equal weightto each user input device of or supported by the kiosk 10.

In an embodiment the user input device 12 may be disposed within theouter housing or enclosure of the kiosk 10 or disposed in closeproximity thereto such that it comprises part of the kiosk 10 itself,and is accessible to customers; while in another embodiment, the userinput device 12 may be separate and distinct from the structure of thekiosk 10 (e.g., the device 12 may be remotely located from the kiosk10). In any event, the user input device 12 may be directly orindirectly electrically connected to (e.g., hardwired or wirelessly),and configured for communication with, the ECU 14 of the kiosk 10, andmay comprise or include any number of devices suitable to display orprovide information to and/or receive information from a customer. Assuch, the user input device 12 may comprise any combination of hardware,software, and/or other components that enables a customer to communicateor exchange information with the ECU 14 and/or one or more othercomponents of the kiosk 10. More particularly, the user input device 12may comprise or include one or a combination of any number of knowndevices, such as, for example and without limitation: a personalcomputer; a liquid crystal display (LCD); a touch screen; a cathode raytube (CRT); a plasma display; a keypad; a keyboard; a computer mouse; amicrophone; a speaker; a handheld device (e.g., telephone, smart phone,tablet, personal digital assistance (PDA), etc.); a device with a worldwide web interface; or any other suitable device. As such, it will beappreciated that the present disclosure is not limited to any specificuser input device or combination of devices.

The user input device 12 may further include a processor or processingdevice and an electronic memory device. The processor may include anytype of suitable electronic processor (e.g., programmablemicroprocessor, microcontroller, central processing unit (CPU),application specific integrated circuit (ASIC), etc.) that is configuredto receive and process data/information and/or execute appropriateprogramming instructions for software, firmware, programs, applications,algorithms, scripts, etc., necessary to perform various functions, suchas for example, one or more steps of the methodology described below.The memory device may include any type of suitable electronic memorymeans and may store a variety of data and information. This includes,for example, software (e.g., code or logic), firmware, programs,applications, algorithms, scripts, etc., required to perform one or moreof the functions described herein.

In addition to the above, the user input device 12 may further includeone or more communication interfaces that may include or be electricallyconnected to certain communication-supporting infrastructure of the userinput device 12 (e.g., one or more known components/devices, such as,for example, routers, modems, antennas, electromechanical ports,transceivers, etc.) to allow for the communication and exchange ofinformation/data between the user input device 12 and other componentsof the system, for example, the ECU 14, via a suitable communicationnetwork (e.g., a public or private network (e.g., the internet)) and/orusing suitable communication techniques or protocols. More particularly,the communication network may comprise a wired or wireless network, suchas, for example: a suitable Ethernet network; radio andtelecommunications/telephony networks (e.g., cellular networks, analogvoice networks, or digital fiber communications networks); or any othersuitable type of network and/or protocol (e.g., local area networks(LANs), wireless LANs (WLANs), broadband wireless access (BWA) networks,personal area networks (PANs), publicly switched telephone networks(PSTNs), etc.). The communication network may be configured for use withone or more standard communications technologies and protocols, and mayutilize links using known technologies, such as, for example, Ethernet,IEEE 802.11, integrated services digital network (ISDN), digitalsubscriber line (DSL), as well as other known communicationstechnologies. Similarly, the networking protocols used on a network towhich some or all of the components of the kiosk 10 are interconnectedmay include multi-protocol label switching (MPLS), the user datagramprotocol (UDP), the hypertext transport protocol (HTTP), the simple mailtransfer protocol (SMTP), and the file transfer protocol (FTP), amongother suitable network protocols. In an embodiment, the transmissioncontrol protocol/Internet protocol (TCP/IP) may be used, in which caseit will be appreciated that each component configured for communicationusing such a protocol can be configured with a static IP address or canbe set up to automatically receive an assigned IP address from anotherdevice on the network. Further, the data or information exchanged oversuch a network by the network interfaces of the various components maybe represented using technologies, languages, and/or formats, such asthe hypertext markup language (HTML), the extensible markup language(XML), and the simple object access protocol (SOAP) among other suitabledata representation technologies. Additionally, some or all of the linksor data may be secured or encrypted using any suitable encryptiontechnique or technology, such as, for example, the secure sockets layer(SSL), secure HTTP, and/or virtual private networks (VPNs), theinternational data encryption standard (DES or IDEA), triple DES,Blowfish, RC2, RC4, RC5, RC6, as well as other known suitable dataencryption standards and protocols. In other embodiments, custom and/ordedicated data communications, representation, and encryptiontechnologies and/or protocols may be used instead of, or in addition to,the particular ones described or identified above. Furthermore, it willbe appreciated that in an embodiment, the various components (e.g., theuser input device 12, the ECU 14, etc.) may each be configured tocommunicate with one or more other components using more than onecommunication technique or protocol as a fail-safe so as to provideredundancy and flexibility in the event a given technique or protocol isrendered unusable for any reason, or different components communicateusing different protocols or techniques.

It will be further appreciated that depending on the particularimplementation, the distance from the user input device 12 to the ECU 14may range from a matter of feet to an unlimited number of miles.Accordingly, the particular communication techniques and protocols usedmay depend in large part on the relative distance between the devices orcomponents communicating with each other, as well as on the availabilityof certain infrastructure required for the various techniques/protocols(e.g., cellular reception, existence of PSTN lines, etc.). Accordingly,in view of the foregoing, the communication between, for example, theuser input device 12 and the ECU 14 may be facilitated in any number ofways using any number of techniques, and therefore, the presentdisclosure is not limited to any one particular way or technique(s);rather, any suitable way or technique may be utilized.

With reference to FIGS. 2a and 2b , in an illustrative embodiment, theuser input device 12 may include and/or be configured to display one ormore user interfaces 18 (e.g., user interfaces 18 ₁, 18 ₂), for example,graphical user interface(s) (GUI(s)), text-based user interface(s),etc., which may be used in conjunction with a component of the userinput device 12 (e.g., a text-based interface may be displayed on adisplay device of the user input device 12 and a keyboard of the userinput device 12 may be used in conjunction with the user interface 18, aGUI may be displayed on a display device of the user input device 12 anda mouse of the user input device 12 may be used in conjunction with theuser interface 18, etc.). In any event, one or more components of thekiosk 12 (e.g., the ECU 14, a software application stored in the memoryof the user input device 12, etc.) may be configured to generate one ormore user interfaces 18 in the form of graphical and/or text-basedinterface(s) having one or more user-selectable or user-inputtablefields, icons, links, drop-down menus, etc. that may be displayed on asuitable display device and allow a customer to interact or communicatewith, for example, the ECU 14. It will be appreciated that in anembodiment wherein a user interface is communicated to the user inputdevice 12 from, for example, the ECU 14, such communication may befacilitated through the communication interface of the user input device12 and across a suitable communication network using any number of wellknown and suitable communication techniques and protocols, such as, forexample, one or more of those described below.

In any event, the user input device 12 is operable to provide aninteractive interface that allows a customer to interact with othercomponents of the kiosk 10 for the purposes described below. Forinstance, the user input device 12 may be configured to allow a customerto place an order for a desired beverage (e.g., the user interface 18 ₁illustrated in FIG. 2a ), customize or personalize the beverage (e.g.,the user input device 18 ₂ illustrated in FIG. 2b ), and provide otherinformation relating to the beverage, for example, a requested time thecustomer would like to pick-up an ordered beverage, to cite a fewpossibilities. Accordingly, the user input device 12 may be configuredto prompt a user to input certain information (e.g., the selection of abeverage to be produced; user identifying information; etc.), and toalso provide a means by which such information may be inputted (e.g.,user-selectable or user-inputtable fields or links). The input providedby the user may then be communicated to, for example, a component ofkiosk 10 (e.g., ECU 14), which may then take certain action(s) inresponse to the received input. In an embodiment, the communicationbetween the user input device 12 and an intended recipient may be directcommunication (i.e., electrical signals flow from the user input device12 directly to the intended recipient (e.g., the ECU 14). In otherembodiments, however, the communication may be indirect such that theinput received at the user input device 12 may be routed and relayedfrom the user input device 12 to one or more other components and thento the intended recipient. For example, an input received at the userinput device 12 may be routed first to a central host or server whichmay then relay the input to the kiosk 10. Similarly, in another example,the input received at the user input device 12 may be communicated firstto a controller or ECU associated therewith, which may then relay theinput to the intended recipient. In yet another example, the inputreceived at a user input device 12 may be routed first through, forexample, one or more intermediary components of the kiosk 10, such as,for example, a hub, a router, a modem, etc., prior to the input reachingthe intended recipient. Accordingly, it will be appreciated that a userinput received at the user input device 12 may be communicated to theintended recipient(s) in any number of ways, each of which remainswithin the spirit and scope of the present disclosure.

The ECU 14 of the kiosk 10 may be disposed within an outer housing orenclosure of kiosk 10, or alternatively, outside of such an enclosurebut in close proximity thereto. In an embodiment, the ECU 14 comprisesone or more electronic processing units and one or more electronicmemory devices. In another embodiment, rather than or in addition to theECU 14 comprising a memory device, kiosk 10 may include one or morememory devices that are separate and distinct from the ECU 14 (and theprocessing unit(s) thereof, in particular) but that is/are accessiblethereby. The processing unit of the ECU 14 may include any type ofsuitable electronic processor (e.g., a programmable microprocessor ormicrocontroller, an application specific integrated circuit (ASIC),etc.) that is configured to execute appropriate programming instructionsfor software, firmware, programs, algorithms, scripts, etc., to performvarious functions, such as, for example and without limitation, one ormore steps of the methodologies described herein. The memory device,whether part of the ECU 14 or separate and distinct therefrom, mayinclude any type of suitable electronic memory means and may store avariety of data and information. This includes, for example: software,firmware, programs, algorithms, scripts, and other electronicinstructions that, for example, are required to perform or cause to beperformed one or more of the functions described elsewhere herein (e.g.,that are used (e.g., executed) by ECU 14 to perform various functionsdescribed herein); various data structures; operating parameters andcharacteristics of the kiosk 10 and the components thereof (e.g.,individual sequences or queues associated with each component/module 16of the kiosk 10, a master production schedule for preparing or generatedbeverages ordered through the kiosk 10, etc.); information (e.g.,parameters, characteristics, etc.) relating to ingredients used in or bythe kiosk 10; beverage recipes; etc. Alternatively, rather than all ofthe aforementioned information/data being stored in a single memorydevice, in an embodiment, multiple suitable memory devices may beprovided. In any event, the aforementioned instructions may be providedas a computer program product, or software, that may include anon-transitory, computer-readable storage medium. This storage mediummay have instructions stored thereon, which may be used to program acomputer system (or other electronic devices, for example, the ECU 14)to implement the control some or all of the functionality describedherein, including one or more steps of the methodology described below.A computer-readable storage medium may include any mechanism for storinginformation in a form (e.g., software, processing application) readableby a machine (e.g., a computer, processing unit, etc.). Thecomputer-readable storage medium may include, but is not limited to,magnetic storage medium (e.g., floppy diskette); optical storage medium(e.g., CD-ROM); magneto optical storage medium; read only memory (ROM);random access memory (RAM); erasable programmable memory (e.g., EPROMand EEPROM); flash memory; or electrical, or other types of mediumsuitable for storing program instructions. In addition, programinstructions may be communicated using optical, acoustical, or otherform of propagated signal (e.g., carrier waves, infrared signals,digital signals, or other types of signals or mediums.).

As will be described below, the ECU 14 may be electronically connectedto other components of the kiosk 10 via I/O devices and suitableconnections, such as, for example, a communications bus or a wirelesslink, so that they may interact as required. It will be appreciated,however, that the present disclosure is not meant to be limited to anyone type of electronic connection, but rather any connection thatpermits communication between the ECU 14 and other components of thekiosk 10 may be utilized.

The ECU 14 may be configured to perform, or cause to be performed, someor all of the functionality of the kiosk 10, including, for example,some or all of those functions and features described herein (e.g., oneor more steps of the method(s) described below). For example, and withreference to the illustrated embodiment depicted in FIG. 1, the ECU 14may serve as a central or main controller that is configured tocoordinate all user input devices 12, machine controls, sensors, andfeedback (e.g., control and feedback illustrated at 20, 22, 24, 26, and28 in FIG. 1). For example, all valves, heaters, pumps, servo motors,actuators, flow control mechanisms, and/or other electrical, mechanical,or electromechanical components of the components or modules 16described below may be controlled by the ECU 14. Accordingly, in anembodiment, the ECU 14 may be configured to receive a request for thegeneration of a beverage from the user input device 12 and to theneffect the generation of the specified beverage by controlling (directlyor indirectly) the operation of, for example, one or more of the modules16 of the kiosk 10 required to generate the specified beverage. In anillustrative embodiment, the ECU 14 may be further configured to exertat least a measure of control over the user input device 12 to cause,for example, messages to be displayed thereon notifying a customer,among possibly other things, that the beverage they ordered has beencompleted and is ready to be picked-up.

To facilitate the interaction and communication between the ECU 14 andother components of system 10 such as the user input device 12, the ECU14 may comprise one or more network or communication interfaces 30 thatmay include or be electronically connected to, and configured forcommunication with, other infrastructure of the kiosk 10 (e.g., knowncomponents/devices such as, for example, routers, modems, antennas,electrical ports, transceivers, etc.) configured to facilitate andsupport one or more types of communication networks ortechniques/protocols, such as, for example, those described elsewhereherein. In any event, network interface(s) 30 allows for the exchange ofdata/information between the ECU 14 and one or more other components ofthe kiosk 10.

It will be appreciated by those having ordinary skill in the art thatwhile the ECU 14 is illustrated in FIG. 1 as a single component, in someembodiments, the functionality of the ECU 14 may be performed or causedto be performed by more than one ECU or other like component. Forexample, in an embodiment, the kiosk 10 may comprise a plurality ofECUs, each one of which is configured to perform or cause to beperformed different functionality. For example, in an embodiment, afirst ECU may be configured to control the modules 16 used to generateor produce beverages, while a second ECU may be configured to controlthe user input device 12. In such an embodiment, the various ECUs may beelectronically connected to each other to allow for communicationtherebetween, and each may be configured to also communicate with othercomponents of the kiosk 10 through, for example, dedicated networkinterfaces or other components thereof, or common network interface(s)of the kiosk 10. In another embodiment, the kiosk 10 may include anumber of ECUs configured to control different functionality of thekiosk 10 (e.g., one or more of the modules 16 may have a dedicated orshared ECU), but also includes a “master” ECU that is configured tomanage and control the operation of the individual ECUs so as to have acoordinated, multi-tiered control scheme for the kiosk 10. In such anembodiment, the master ECU may be the sole ECU that is configured tointerface with other components of the kiosk 10, or alternatively, theindividual dedicated ECUs may also be configured to interface with oneor more other components of the kiosk 10.

While it will be apparent in view of the foregoing that any number ofsuitable control schemes or arrangements employing one or multiple ECUsor other suitable control/processing devices may be used to carry outthe functionality of the kiosk 10 and the various components thereof, inparticular, for purposes of illustration and clarity, the descriptionbelow will be primarily with respect to an embodiment wherein the kiosk10 includes a single ECU (i.e., the ECU 14) for controlling most, if notall, of the functionality of the kiosk 10 and the components thereof. Itwill be appreciated by those having ordinary skill in the art, however,that the present disclosure is not meant to be limited to such anembodiment, but rather any number of suitable control schemes andarrangements may be used and such other schemes and arrangements remainwithin the spirit and scope of the present disclosure.

As discussed above, the kiosk 10 may include one or more components ormodules 16 (also known or referred to as “process modules,” “controlprocess modules,” “execution modules,” and “resource modules”). Eachmodule 16 is configured to perform one or more processes (e.g., chemicalor mechanical processes) required for generating or producing brewedbeverages. In an illustrative embodiment, each module 16 is configuredto perform one or more different processes than that or those performedby the other module(s) 16. Alternatively, two or more modules 16 may beconfigured to perform the same process(es) so as to add a measure ofredundancy and flexibility to the kiosk 10 in case one such processmodule fails or is otherwise inoperable, or there is a high demand forthe process(es) performed by those modules 16 (e.g., when multiplebeverages are being prepared at least partially simultaneously). Themodules 16 may take any number of forms. For example, and as illustratedin FIG. 1, one type of module is an expressor unit 32 that isconfigured, for example, to brew coffee. Another type of module is afinisher unit 34 that is configured, for example, to dispense one ormore refrigerated or non-refrigerated additives required for variousbeverages (e.g., flavored syrup, dairy (e.g., cold milk), ice,sweeteners, water, etc.). Yet another type of module is a lidding moduleor lid dispenser 36 that, as the name suggests, is configured todispense lids for placement on cups containing completed or partiallycompleted beverages. Other types of modules may include, but are notlimited to, a cup dispenser (denester), a frothing module, and a labelmodule, among possibly others. Accordingly, in an illustrativeembodiment, the kiosk 10 includes an array of modules 16 that areconfigured to perform a variety of beverage production-relatedprocesses.

As was briefly described above, in an embodiment, the operation of eachmodule 16 is controlled by the ECU 14. Accordingly, in such anembodiment, each module 16 is electronically connected to, andconfigured for communication with, the ECU 14. It will be appreciated asdescribed above, however, that in other embodiments, one or more of themodules 16, or one or more of the components thereof, may bealternatively controlled by a dedicated ECU that, as described above, isunder the control of the ECU 14, or by another ECU of the kiosk 10 or alarger system of which the kiosk 10 is a part (e.g., a central host).

In addition to the modules 16 described above, the kiosk 10 may alsocomprise additional components such as, for example, a cup handler 38(shown diagrammatically in FIG. 3). In an embodiment, the cup handler38, as the name suggests, is configured to handle the cups into whichbeverages being generated by the kiosk 10 are dispensed. The cup handler38 may comprise one or more actuators (e.g., XYZ actuators) configuredto move or manipulate the position of a cup into which a specifiedbeverage is to be dispensed among various locations within the kiosk 10during the generation or production of the specified beverage. Invarious embodiments, these locations may include, for example: alocation where empty cups are stored (e.g., a cup dispenser/denester);locations corresponding to various modules 16 at which differentingredients or components of the beverage may be added or dispensed intothe cup; locations where partially completed and/or completed beveragesare temporarily stored (e.g., a staging or work-in-process (WIP) area ofthe kiosk 10); a location corresponding to the lid dispenser module 36;and a location where a beverage presenter component of the kiosk 10 isdisposed. In an embodiment, the operation of the cup handler 38 iscontrolled by the ECU 14; though the present disclosure is not intendedto be so limited.

As illustrated in FIG. 1, the kiosk 10 may further comprise one or morebeverage presenters 40. The beverage presenter(s) 40 serve to transfer acompleted beverage generated by the kiosk 10 to an area at which acustomer may retrieve the beverage s/he ordered. In an embodiment, thebeverage presenter 40 may include, for example, a conveyor, carousel,platform, or other suitable mechanism upon which the cup handler 38places a completed beverage and that moves or delivers the beverage to,for example, a customer-accessible presentation or final productcollection area 42 (diagrammatically illustrated in FIG. 3 as “beveragecollection area 42”) where the beverage may be retrieved by thecustomer. This presentation area may comprise, for example, an areabehind a door or window that is accessible upon the door or windowopening. More particularly when a beverage is ready for retrieval by thecorresponding customer, it is placed into the presentation area 42. Whenthe kiosk 10 recognizes that the customer has arrived or is in vicinityof the kiosk 10 (e.g., through, for example, an input to the user inputdevice 12), the door or window to the presentation area 42 may be openedso that the customer may access the presentation area 42 and retrievehis/her beverage. In various embodiments, the kiosk 10 may include oneor more presentation areas 42 that may be utilized to present beveragesordered in different ways (e.g., one presentation area for beveragesordered directly at the kiosk 10 for immediate delivery, and anotherpresentation area for pre-ordered beverages that are ordered in advanceof a desired pick-up time). As with other components described above, inan embodiment, the operation of presenter 40 and/or presentation orfinal product collection area 42 may be controlled by the ECU 14.

In view of the foregoing, it will be apparent that some or all of thecomponents of the kiosk 10 are interconnected to allow for communicationand exchange of information therebetween. To that end, FIG. 3illustrates various interconnected components of an illustrativeembodiment of the kiosk 10. In this example, all of the illustratedcomponents are connected to a central interconnect 44 (e.g., acommunication bus), or alternatively, one or more components may beelectronically connected (e.g., by one or more wires or cables, orwirelessly) to one or more other components. In the illustratedembodiment, it is through interconnect 44 that the ECU 14 may receivefeedback and other inputs from various components of the kiosk 10 (e.g.,modules 16, cup handler 38, presenter 40, etc.) and may issue commands(e.g., in the form of machine instructions or signal values) to thosecomponents. In various embodiments, one or more user input device 12,such as, for example, a touch screen 46, proximity sensor 48, audiointerface 50 (including a microphone and/or speaker), video capturedevice 52, RFID reader 54, receipt printer 56, coin/billacceptor/changer 58, credit card/loyalty card reader 60, and/or loyaltycard dispenser 62, may provide a customer interface and/or maintenanceinterface, as controlled by the ECU 14.

While certain components of an illustrative embodiment of the kiosk 10have been specifically identified and described above, it will beappreciated that in other embodiments, the kiosk 10 may includeadditional components or, conversely, may include less than all of thecomponents specifically identified above. Accordingly, the presentdisclosure is not meant to be limited to any particular arrangement ofthe kiosk 10.

Referring now to FIG. 4, there is shown a method 100 of operating anautomated beverage generating system, and more particularly, a methodfor managing a beverage production schedule for beverages orderedthrough the system. For purposes of illustration and clarity, method 100will be described in the context of the kiosk 10 described above. Itwill be appreciated, however, that the application of the presentmethodology is not meant to be limited solely to such an implementation,but rather method 100 may find application with any number of othertypes or implementations of automated beverage generating systems.Additionally, it should be noted that while the steps of method 100 willbe described as being performed or carried out by one or more particularcomponents of the kiosk 10 (e.g., the ECU 14), in other embodiments,some or all of the steps may be performed by components of the kiosk 10,or constituent sub-components thereof, other than that or thosedescribed, or components not part of the kiosk 10 but configured for usetherewith (e.g., a central host of a larger system of which the kiosk 10is a part, for example). Accordingly, it will be appreciated that thepresent disclosure is not limited to an embodiment wherein particularcomponents described herein are configured to perform the various steps.

In an embodiment, method 100 includes a step 102 of receiving one ormore electrical signals representative of an order for a specifiedbeverage. In an embodiment, the one or more electrical signals areultimately received by the ECU 14 of the kiosk 10, and therefore, insuch an embodiment, step 102 is performed by the ECU 14. The electricalsignals representative of the specified beverage may be generated in anumber of ways. In an embodiment, a customer places an order for adesired beverage using, for example, a user input device of, orsupported by, the kiosk 10 (e.g., the user input device 12), and theelectrical signal(s) are generated in response thereto. Morespecifically, in an embodiment, and as described in greater detail aboveand illustrated in FIGS. 2a and 2b , the user input device 12 mayinclude, or have displayed on a display device thereof, a graphical userinterface (GUI) 18 ₁ that may be used to select a desired beverage fromamong a plurality of beverage options. The beverage options may includestandard, predetermined beverages produced by the kiosk 10 or, incertain instances, may include a list of beverages that a given customerhas indicated are his favorites or that s/he had previously ordered. Inany event, the customer may interact with the GUI 18 ₁ to select aparticular beverage.

Once a particular beverage has been selected as described above, incertain embodiments, a customer may be permitted to customize orpersonalize the selected beverage. In such an instance, this may beaccomplished through the same GUI used to initially select the beverageor a different GUI such as, for example, the GUI 18 ₂ illustrated inFIG. 2b . Accordingly, as shown in FIG. 2b , the GUI 18 ₂ may present acustomer a number of selectable customization/personalization options,including, for example, various additives or ingredients that may beadded to, or used in the production of, the beverage from which thecustomer may make one or more selections. It will be appreciated that incertain instances, the beverage may be further customized by allowing acustomer to select particular amounts or specific types of additives tobe added to, or used in the production of, the beverage, as well as tomake selections relating to other parameters of the beverage, such as,for example, a temperature the customer would like the beverage to be atwhen it is presented to him.

Whether or not a selected beverage is customized, once a customer hascompleted his order, the order may be stored, for example, in an objectclass that contains the entire order (e.g., the specified beverage). Oneor more electrical signals representative of the order may then begenerated by, for example, the user input device 12, and a processingdevice thereof, in particular. These electrical signals may then betransmitted or communicated (e.g., over one or more wires or wirelessly)directly or indirectly to the ECU 14 of the kiosk 10.

Upon receipt of the one or more electrical signals representative of theorder in step 102, method 100 may proceed to a step 104 of translatingthe order into one or more commands or steps required to generate thespecified beverage. This may be done in a number of ways. For example,in an illustrative embodiment, step 104 comprises using the orderreceived in step 102 and a data structure, for example, a one- ormultiple-dimensional look-up table, that correlates ordered beverageswith required steps to generate those beverages to determine theplurality of steps required to generate the specified beverage.Accordingly, in such an embodiment, step 104 may comprise inputting orlooking up the specified beverage in an appropriate data structure todetermine the steps required to generate that beverage. The datastructure may be stored in an electronic memory device of the kiosk 10,and more particularly, an electronic memory device that is part of oraccessible by the ECU 14 of the kiosk 10. While one particular way ofperforming the translating step 104 has been provided, it will beappreciated that the present disclosure is not intended to be limited toany particular way of translating a received order, but rather anysuitable way may be used. In an embodiment, the translating step 104 isperformed by the ECU 14 (or a resource manager or scheduler residing inthe ECU 14).

Following the translation of the order in step 104, method 100 maycomprise a step 106 of entering each of the required steps determined inthe translating step 104 into a dynamic sequence corresponding to orassociated with one or more modules 16 of the kiosk 10 that is/areconfigured to perform that particular step. For instance, in anembodiment wherein the specified beverage has been translated into twosteps, for example, a coffee dispensing step and a lidding step, thecoffee dispensing step will be entered into a dynamic sequence thatcorresponds to a coffee expressor module or unit (e.g., the coffeeexpressor unit 32 of the kiosk 10), and the lidding step will be enteredinto a dynamic sequence corresponding to a lid dispenser or liddingmodule (e.g., the lid dispenser 36 of the kiosk 10). In any event, thedynamic sequence into which each of the required steps is entered instep 106 represents an order in which the steps in that dynamic sequencewill be performed or executed by a module 16 associated with thatsequence.

In an illustrative embodiment, each dynamic sequence is contained orembodied in a queue associated with the module 16 to which the sequencecorresponds. For each module 16, the queue corresponding thereto may bestored and maintained in an electronic memory device of the module 16itself (e.g., in an electronic memory that is part of or accessible byan ECU of the module). Accordingly, in an embodiment such as thatdescribed above wherein the kiosk 10 includes the coffee expressor unit32, the finisher unit 34, and the lid module 36, the queue associatedwith the expressor unit 32 is stored and maintained by the expressorunit 32, the queue associated with the finisher unit 34 is stored andmaintained by the finisher unit 34, and the queue associated with thelidding modules 36 is stored and maintained by the lidding module 36.Alternatively, some or all of the queues may be stored or maintained inan electronic memory device that is part of or accessible by the ECU 14of the kiosk 10. Accordingly, it will be appreciated that the presentdisclosure is not intended to be limited to any particular arrangementfor storing and maintaining the queues associated with the module(s) 16.

Regardless of where the queue(s) are stored, for each step required togenerate the specified beverage, the entering step 106 may comprise theECU 14 of the kiosk 10 accessing the queue(s) associated with one ormore modules 16 of the kiosk 10 that is/are configured to perform therequired step, and to then enter the required step for the specifiedbeverage into an empty slot or breakpoint/insertion point in the queueassociated with at least one of the one or more modules 16 (i.e., aposition within the queue where an associated module 16 would beotherwise sitting idle if not for the entry of a required step therein).The empty slot into which the step for the specified beverage is enteredcorresponds to a position in the queue at which the step for thespecified beverage will be performed or executed by the module 16relative to one or more other steps in the queue for generating one ormore other beverages.

For example, in an embodiment wherein the required step comprises afrothing process and the kiosk 10 includes a single frothing module, theECU 14 will access the queue associated with the frothing module andenter the frothing step for the specified beverage into an empty slot inthat queue. In another embodiment wherein the kiosk 10 includes two ormore frothing modules, each having a respective queue associatedtherewith, the ECU 14 may access each of the queues for the frothingmodules and then enter the frothing step for the specified beverage intoan empty slot in one of those queues.

The particular empty slot into which the required step is entered may bedependent upon any number of factors or considerations. One such factormay be the current state of the queue(s) associated with the module(s)16 configured to perform that step. For example, if there is only oneempty slot in the queue(s)—which may be at the end of the queue orbetween two other slots that are currently occupied—the required stepfor the specified beverage may, by default, be entered into that emptyslot. This is equivalent to changing the sequence of steps beingperformed by that particular module. In an instance where there aremultiple empty slots in the queue(s), a number of other additional oralternative factors/considerations may be taken into account, including,but certainly not limited to, the pipelining and traffic engineering ofone or more of the modules 16 of the kiosk 10, and the optimization ofthe utilization of the module(s) 16.

For example, if, for a required step, there are multiple empty slots inthe queue(s) of one or more modules 16 configured to perform that step,the required step may be entered into an empty slot that will notconflict or overlap with the performance of another one of the requiredsteps for the specified beverage, and that best fits into the overallflow of the generation of the specified beverage (e.g., that will notresult in the beverage having to wait too long in between steps). Takingthe example described above wherein the specified beverage requires acoffee dispensing step and a lidding step, the lidding step obviouslyneeds to be performed following the coffee dispensing step. Accordingly,the lidding step will be entered into an empty slot of a queueassociated with a lidding module that will result in the lidding stepbeing performed subsequent to the coffee dispensing step. Accordingly,in an embodiment, when entering a required step into a queue associatedwith one or more modules 16, the ECU 14 may be configured to take intoaccount the relative timing of when other required steps of thespecified beverage are to be performed (i.e., the position(s) of one ormore other required steps in their corresponding queue(s)), and/or thesteps required to generate other beverages in determining which emptyslot the required step is to be entered into.

In an instance wherein there are two or more modules 16 that areconfigured to perform a required step, each having a respective queueassociated therewith, the required step for the specified beverage maybe entered into an empty slot of the least populated queue. In otherwords, the required step may be entered into an empty slot of the queueassociated with the least busy module 16 so as to increase and optimizethe utilization of that module 16, and therefore, the kiosk 10 as awhole.

In an embodiment, following the translating step 104 but prior to theentering step 106, method 100 may comprise a step 108 of determining orassigning a priority or weight for each step required to generate thespecified beverage. For each required step, the assigned priority may beused in step 106 to determine a position within the queue/dynamicsequence associated with one or more modules 16 configured to perform orexecute that particular step relative to one or more other steps in thatqueue/sequence for generating one or more other beverages. For example,the assigned priority may be used in step 106 to determine which emptyslot that step is entered into. In an embodiment, the ECU 14 may beconfigured to perform step 108. At least one purpose of assigningpriorities in the manner described herein is to optimize the utilizationof as many modules 16 of the kiosk 10 as possible, as well as tomaximize the throughput of the kiosk 10.

Any number of factors or combination of factors or criteria may be usedin step 108 to determine or assign a priority to a required step. Onefactor may be the order in which the order for the specified beveragewas received by the kiosk 10 relative to when one or more other ordersfor other beverages were received (i.e., the order in which beverageorders are received). For example, if the order for the specifiedbeverage was received after an order for a different beverage and bothbeverages have a required step in common, the required step for thelater-ordered specified beverage may be assigned a lower priority thanthat of the earlier-ordered beverage simply because the order for thespecified beverage was received second.

An alternative or additional factor/criteria may be a priority levelassigned to the order for the specified beverage. This priority levelmay be assigned by the customer (e.g., by specifying that the s/he wouldlike the beverage generated immediately, by paying a premium price,etc.) or by the kiosk 10 (e.g., an order placed at the kiosk 10 itselfmay receive a higher priority than if it were ordered through a remoteordering mechanism, an order placed by a customer having a particularloyalty status may be assigned a higher priority than it otherwise wouldbe assigned, an order received that includes a desired pick-up time thatis in the near future may be assigned a higher priority than if it had alater desired pick-up time, etc.).

Yet another factor that may be used in addition to or instead of one ormore of those described above relates to the type of module 16 that isrequired to perform the required step. More particularly, if the kiosk10 includes a plurality of such modules 16, a required step may receivethe same or equal priority as another step in a queue associated withone of those module 16 even if one of the beverages is considered to bea higher priority beverage since there are sufficient resources (i.e.,modules 16) to perform multiple steps for multiple beveragessimultaneously or at least substantially simultaneously. Conversely, ifthere is only one module 16 configured to perform the required step,each step in the queue must have a different priority, and thosepriorities may be determined using, for example, one or more of theother factors described herein.

Yet still another alternative or additional factor that may be takeninto consideration is/are the status(es) of other module(s) (or thedynamic sequences/queues thereof) of the kiosk 10. For example, assumethat orders for two different beverages—B1 and B2—are received at thesame time. Assume further that B1 requires a coffee dispensing step andan additive dispensing step, and B2 only requires a coffee dispensingstep. To determine which coffee dispensing step is assigned a higherpriority, the status of the queue associated with the additivedispensing module or finisher 34 may be consulted. If the additivedispensing step of beverage B1 can be entered into an empty slot in thatqueue that overlaps the earliest empty slot in the queue associated withthe coffee expressor unit 32, the coffee dispensing step for beverage B2may be assigned a higher priority than that of beverage B1. This wouldallow both modules to be active at the same time (i.e., the additivedispensing module 34 performing the additive dispensing step of beverageB1 and the coffee expressor unit 32 performing the coffee dispensingstep of beverage B2), rather than the additive dispensing module 34being idle until the coffee dispensing step of beverage B1 is completed,and slowing the generation of beverage B2 which only requires the coffeedispensing step. As result, the utilization of each module is optimizedand the throughput of the kiosk 10 maximized.

It will be appreciated by those having ordinary skill in the art thatwhile only a select few factors have been described above, additional oralternative factors may also be taken into consideration. Additionally,depending on the particular implementation, one or a combination offactors may be used to determine the priority of a given step.Accordingly, the present disclosure is not limited to use of anyparticular one or combination of factors; rather in different factors orcombination of factors may be used in different implementations.

In an embodiment such as that described above wherein a priority isdetermined and/or assigned to each required step of the specifiedbeverage, method 100 may further include, as illustrated in FIG. 4, astep 110 of periodically re-evaluating and/or updating the priority ofone or more of the required steps; and, if appropriate, a step 112 ofupdating the corresponding queue accordingly. For example, after amodule 16 performs one of the steps in the queue associated therewith,the ECU 14 may be configured to re-evaluate and/or update the remainingsteps in that queue and reshuffle their priorities. Additionally oralternatively, after a module 16 performs one of the required steps forthe specified beverage, the ECU 14 may be configured to re-evaluateand/or update the priority of one or more of the remaining requiredsteps, and, if necessary, update or reshuffle the queue(s) associatedwith the module(s) 16 configured to perform that or those requiredstep(s), accordingly.

By way of illustration, in an embodiment, a step that had a prioritycorresponding to the second position in the queue may have its priorityelevated to the highest priority; a step having a priority correspondingto the third position in the queue may have its priority elevated to thesecond highest priority; and so on and so forth. In another example,while a particular module 16 was active performing or executing arequired step for one beverage, an order for beverage having a higherpriority than the other pending beverages having steps to be performedby that module may be received. In such an instance, the priorities(e.g., the positions) of the steps in the queue may be re-assigned orupdated to accommodate the new, higher-priority beverage. In otherwords, the required step for the new beverage may leap-frog the othersteps in the queue corresponding to earlier-ordered beverages eventhough they were entered into the queue first.

In yet another example, the status of other modules 16 of the kiosk 10may be taken into account in the same or similar manner as thatdescribed above with respect to step 108. For example, assume that thereare two beverages being prepared—B1 and B2—and that beverage B1 has acoffee dispensing step in the queue associated with the coffee expressor32 and an additive dispensing step in the queue associated with theadditive dispensing module or finisher 34, and that B2 has a coffeedispensing step in the queue associated with the coffee expressor unit32. Assume further that the coffee dispensing step of beverage B1 has ahigher priority assigned to it than that of beverage B2. Once the coffeeexpressor unit 32 becomes available, the ECU 14 may look at what stepsstill have to be performed for each of beverages B1 and B2, and what thestatus is for the modules 16 configured to perform those remainingsteps. In the present example, the ECU 14 will see that beverage B1 hastwo steps remaining—coffee dispensing and additive dispensing steps,while beverage B2 has only the coffee dispensing step remaining. If theECU 14 determines that both the coffee expressor unit 32 and theadditive dispensing module or finisher 34 are available (or will be in aparticular amount of time), the ECU 14 may change the priorities of thecoffee dispensing steps of the two beverages such that the coffeedispensing step of beverage B2 is performed by the coffee expressor unit32 first, while the additive dispensing module 34 performs the additivedispensing step of beverage B1. This will allow both modules 32, 34 tobe active rather than module 34 sitting idle until the expressor unit 32completes the coffee dispensing step of beverage B1, which would be thecase if the priorities were not switched/reversed.

While the description thus far has been with respect to an embodimentwherein each module 16 of the kiosk 10 has a queue associated with itthat contains the dynamic sequence for that particular module 16 or typeof module 16, the present disclosure is not intended to be limited tosuch an embodiment. For example, in another embodiment, the ECU 14, forexample, may maintain a single master schedule that contains one or moredynamic sequence(s) for the module(s) 16 of the kiosk 10. In such anembodiment, as an order for a specified beverage is received in step 102and translated into one or more steps required to generate the beveragein step 104, step 106 (i.e., step 106′) may comprise entering eachrequired step into the master schedule. In addition to being enteredinto the master schedule, each step may also have a weight or priorityassigned to it (step 108). The priority assigned to a step determinesthe position of that step in a dynamic sequence associated with orcorresponding to one or more modules 16 configured to perform thatparticular step relative to the steps to be performed for otherbeverages to be generated by the kiosk 10. Accordingly, while in thisembodiment each module 16 does not have a dedicated queue, per se, themaster schedule includes and maintains what can be considered a queue(sometimes referred to as a virtual queue) for each module 16 or eachtype of module 16 (e.g., in an embodiment wherein the kiosk 10 includesa plurality of a certain type of module, the master schedule may notdifferentiate between the different modules, but rather may simply haveone queue that serves as the queue for the plurality of modules).

Accordingly, in operation, when a particular module 16 becomesavailable, the ECU 14 may look at the master schedule and determine thenext highest priority step that can be performed by that module 16 ortype of module 16 using the sequence that has been developed for thatmodule or type of module. Once the cup into which the beveragecorresponding to that highest-priority step has been moved to theappropriate module 16, that module 16 may then perform the step.

As with the embodiment described above, any number of factors may beused to determine and/or assign a priority to each required step. Assuch, the description of step 108 set forth above applies here withequal weight and will not be repeated; rather it is incorporated here byreference. As also was described with respect to the embodimentdescribed above, in an embodiment wherein the required steps enteredinto the master schedule in step 106′ have a priority associatedtherewith, the method may further include the step 110 of periodicallyre-evaluating and/or updating the priority of one or more of therequired steps; which may also effectively serve to update the masterschedule (i.e., step 112). More particularly, after a module 16 performsone of the steps in the master schedule, the ECU 14 may be configured tore-evaluate the remaining steps in the master schedule to be performedby that particular module 16 or type of module 16, and may reshuffletheir priorities. Additionally or alternatively, after a module 16performs one of the required steps for the specified beverage, the ECU14 may be configured to re-evaluate and/or update the priority of one ormore of the remaining required steps, and, if necessary, reshuffle orupdate the priorities of the other steps in the master schedule to beperformed by the module(s) 16 configured to perform that or thoserequired step(s), accordingly. The description set forth above forre-evaluating and/or updating the priority of one or more steps applieshere with equal weight and will not be repeated; rather it isincorporated here by reference.

In any event, after the order for a specified beverage is received instep 102, translated into discrete required steps in step 104, and therequired steps are entered into one or more dynamic sequences in step106/106′, method 100 may further include a step 114 of performing one ormore, and in an embodiment, each, of the required steps in accordancewith the dynamic sequence(s) in which they were entered in order togenerate the specified beverage. Accordingly, and as will be appreciatedby those having ordinary skill in the art, the ECU 14 of the kiosk 10may be configured to control both the cup carrier 38 and the module(s)16 of the kiosk 10 to cause the cup into which the specified beverage isbeing dispensed to move from module to module as the ECU 14 determinesthat it is time to perform the next required step of the specifiedbeverage, and the appropriate module(s) 16 for performing that or thosesteps become(s) available, and to then cause the module(s) 16 to performthe required step(s) to generate the specified beverage. Accordingly,when the cup carrier 38 of the kiosk 10 is available, the ECU 14 may:determine which module(s) 16 of the kiosk 10 is/are ready or available(which it may know from receiving a signal from the module(s) indicatingthe status of the module(s) or by virtue of its governance of theoperation of the module(s) 16); determine from the dynamic sequence(s)associated with or corresponding to that or those modules, which step isto be performed next; and to cause the cup corresponding to the beverageassociated with that step to be moved to the appropriate module 16 wherethe step is performed. Once the beverage generation process is complete,the completed beverage may be delivered to the customer using, forexample, the drink presenter 40 of the kiosk 10.

As a result of the optimization and pipelining/traffic engineeringenabled and achieved by the sequencing/queuing techniques describedherein, in any of the embodiments described above, the particular orderin which orders for beverages are received by the kiosk 10 may beirrelevant, and that even though a first beverage was ordered before asecond beverage, the steps for the second, later-ordered beverage may becompleted and that beverage delivered to the respective customer beforethe steps of the first, earlier-ordered beverage are completed and thatbeverage delivered. Accordingly, the systems and methods describedherein are not bound by a first in, first out (FIFO) production scheme,which allows for the optimizing of the utilization of the modules 16 ofthe kiosk 10, and the maximizing of the throughput of the overallsystem.

It is to be understood that the foregoing description is of one or moreembodiments of the invention. The invention is not limited to theparticular embodiment(s) disclosed herein, but rather is defined solelyby the claims below. Furthermore, the statements contained in theforegoing description relate to the disclosed embodiment(s) and are notto be construed as limitations on the scope of the invention or on thedefinition of terms used in the claims, except where a term or phrase isexpressly defined above. Various other embodiments and various changesand modifications to the disclosed embodiment(s) will become apparent tothose skilled in the art.

As used in this specification and claims, the terms “e.g.,” “forexample,” “for instance,” “such as,” and “like,” and the verbs“comprising,” “having,” “including,” and their other verb forms, whenused in conjunction with a listing of one or more components or otheritems, are each to be construed as open-ended, meaning that the listingis not to be considered as excluding other, additional components oritems. Other terms are to be construed using their broadest reasonablemeaning unless they are used in a context that requires a differentinterpretation.

The invention claimed is:
 1. A method of operating an automated beveragegenerating system, comprising: receiving one or more electrical signalsrepresentative of an order for a specified beverage; translating theorder into a first required step and a second required step forgenerating the specified beverage; and entering the first required stepinto a dynamic sequence corresponding to a first process module of thesystem configured to perform the first required step, and the secondrequired step into a dynamic sequence corresponding to a second processmodule of the system configured to perform the second required step,wherein: the first process module is configured to perform one or morechemical or mechanical processes contributing to the production of thespecified beverage, and wherein the one or more chemical or mechanicalprocesses performed by the first process module correspond to the firstrequired step entered into the dynamic sequence corresponding to thefirst process module, the second process module is configured to performone or more chemical or mechanical processes contributing to theproduction of the specified beverage, and wherein the one or morechemical or mechanical processes performed by the second process modulecorrespond to the second required step entered into the dynamic sequencecorresponding to the second process module, and each dynamic sequencerepresents an order in which one or more steps in the dynamic sequencewill be performed by the process module corresponding thereto for one ormore beverages to be generated by the system.
 2. The method of claim 1,further comprising determining a priority for at least one of the firstand second required steps, wherein the priority for the at least one ofthe first and second required steps is used to determine a position ofthat step within the corresponding dynamic sequence relative to one ormore other steps in the dynamic sequence for generating the one or morebeverages to be generated by the system.
 3. The method of claim 2,wherein the determining step comprises determining the priority for theat least one of the first and second required steps based on at leastone of: the order in which the order for the specified beverage wasreceived by the system relative to other orders received by the system;a priority assigned to the specified beverage; the particular type ofprocess module needed to perform the at least one of the first andsecond required steps; or the status of the dynamic sequence(s)corresponding to one or more process modules configured to perform theat least one of the first and second required steps.
 4. The method ofclaim 2, wherein the determined priority for the at least one of thefirst and second required steps and the position of that required stepin the corresponding dynamic sequence results in a change in the orderin which the process module corresponding to that dynamic sequenceperforms the steps therein for the one or more beverages to be generatedby the system.
 5. The method of claim 2, further comprising periodicallyupdating the priority for the at least one of the first and secondrequired steps, and therefore, the position of the at least one of thefirst and second required steps in the dynamic sequence correspondingthereto.
 6. The method of claim 1, wherein entering at least one of thefirst or second required steps comprises: accessing a queue for each ofa plurality of process modules of the system configured to perform thatparticular required step, wherein each queue contains the dynamicsequence corresponding to the process module with which the queue isassociated; and entering that particular required step for the specifiedbeverage into an empty slot in the queue of one of the plurality ofprocess modules, the empty slot corresponding to a position in the queueat which that particular required step for the specified beverage willbe performed by the process module associated with the queue relative toone or more other steps in the queue for generating the one or morebeverages to be generated by the system.
 7. The method of claim 1,further comprising performing each of the first and second requiredsteps in accordance with the dynamic sequence in which that particularrequired step was entered to generate the specified beverage.
 8. Themethod of claim 7, comprising completing all of the required steps forthe specified beverage before all of the required steps for generatingan earlier-ordered beverage are completed.
 9. The method of claim 1,wherein: entering the first required step into the dynamic sequencecorresponding to the first process module of the system comprises:accessing a queue associated with the first process module wherein thequeue contains the dynamic sequence corresponding to the first processmodule; and entering the first required step into an empty slot in thatqueue, the empty slot corresponding to a position in the queue at whichthe first required step for the specified beverage will be performed bythe first process module relative to one or more steps in the queue forgenerating the one or more beverages to be generated by the system; andentering the second required step into the dynamic sequencecorresponding to the second process module of the system comprises:accessing a queue associated with the second process module wherein thequeue contains the dynamic sequence corresponding to the second processmodule; and entering the second required step into an empty slot in thatqueue, the empty slot corresponding to a position in the queue at whichthe second required step for the specified beverage will be performed bythe second process module relative to one or more steps in the queue forgenerating the one or more beverages to be generated by the system. 10.The method of claim 9, wherein the empty slot in one or both of thequeues associated with the first and second modules is at the end of thequeue.
 11. The method of claim 9, wherein the empty slot in one or bothof the queues associated with the first and second modules is betweentwo occupied slots in the queue.
 12. The method of claim 1, whereintranslating the order comprises looking up the specified beverage in adata structure that correlates at least one beverage with steps requiredto generate the at least one beverage to determine the required stepsfor the specified beverage.
 13. A method of operating an automatedbeverage generating system, comprising: receiving one or more electricalsignals representative of an order for a specified beverage; translatingthe order into a first required step and a second required step forgenerating the specified beverage; and entering the first required stepinto a dynamic sequence corresponding to a first process module of thesystem configured to perform the first required step, and the secondrequired step into a dynamic sequence corresponding to a second processmodule of the system configured to perform the second required step,wherein: the first process module is configured to perform one or morechemical or mechanical processes contributing to the production of thespecified beverage, and wherein the one or more chemical or mechanicalprocesses performed by the first process module correspond to the firstrequired step entered into the dynamic sequence corresponding to thefirst process module, the second process module is configured to performone or more chemical or mechanical processes contributing to theproduction of the specified beverage, and wherein the one or morechemical or mechanical processes performed by the second process modulecorrespond to the second required step entered into the dynamic sequencecorresponding to the second process module, each dynamic sequencerepresents an order in which one or more steps in the dynamic sequencewill be performed by the process module for one or more beverages to begenerated by the system, and the entering step comprises entering atleast one of the first and second required steps in a position of thecorresponding dynamic sequence that is ahead of a step for anearlier-ordered beverage such that the required step for thelater-ordered specified beverage is performed before the step for theearlier-ordered beverage.
 14. The method of claim 13, wherein enteringeach of the first and second required steps comprises: accessing a queueassociated with the process module of the system that is configured toperform that particular required step, wherein the queue contains thedynamic sequence corresponding to the process module configured toperform the required step; and entering the required step for thespecified beverage into an empty slot in that queue, the empty slotcorresponding to a position in the queue at which the required step forthe specified beverage will be performed by the process module relativeto one or more other steps in the queue for generating the one or morebeverages to be generated by the system.
 15. The method of claim 13,further comprising performing each of the first and second requiredsteps in accordance with the dynamic sequence in which that particularrequired step was entered to generate the specified beverage.